#ifndef DDAS_DEBUG_H
#define DDAS_DEBUG_H

#include "ddas_results.h"
#include <matrix\gsl_matrix.h>
#include <multifit\gsl_multifit.h>
#include <sort\gsl_sort_vector.h>

//GSL RELATED
void ddas_print_statistical_data(gsl_vector* coeffs, gsl_matrix* covariance, double* chi_squared, verylong* iteration);
void ddas_print_global_vars();
void ddas_print_gsl_matrix(gsl_matrix* matrix);
void ddas_print_gsl_matrix(gsl_matrix* matrix, int rows, int cols);
void ddas_print_gsl_vector_h(gsl_vector* vector);
void ddas_print_gsl_vector_v(gsl_vector* vector);
void ddas_print_gsl_vector_h(gsl_vector* vector, int dimension);
void ddas_print_gsl_vector_v(gsl_vector* vector, int dimension);
void ddas_print_gsl_vector_values_at_specified_indices(gsl_vector* src, gsl_vector* indices);

//DDAS_CLIENT_RESULT RELATED
void ddas_print_client_result_set(DDAS_CLIENT_RESULT_SET*);
void ddas_print_client_result(DDAS_CLIENT_RESULT*);

#endif